iT邦幫忙

第 11 屆 iThome 鐵人賽

DAY 27
2
Security

麻瓜不敗!白魔法藍天煉金術系列 第 27

[Day 27] 技能解封最終對決- 戰坑下的肉搏防衛(Azure Container Security)

  • 分享至 

  • xImage
  •  

前言回顧

技能解封最終對決-重要機要防竊攻防 (Azure SQL Structure Security)
https://ithelp.ithome.com.tw/upload/images/20190908/20025481zr6afutGYz.jpg

已領取技能符石

https://ithelp.ithome.com.tw/upload/images/20191003/20025481nPsPLTwcC4.png

解封技能樹(Start)

https://ithelp.ithome.com.tw/upload/images/20191003/20025481XbHnDc6tV0.png

適合的勇者?

曾經遭逢資安事件打擊者。

資安事件觀望者。

資安探索者。

IT過路人。

資安潛水幫。

資安擺渡人。*

https://ithelp.ithome.com.tw/upload/images/20190907/20025481886Opddny2.jpg

學完可以帶走甚麼?

種下資安的芽在自己心中讓資安意識更強大。

自己的資安生涯規劃師。

帶走心中的這棵樹,把樹傳出去。

你也可以是小小資安擺渡人。

單挑資安認證更有信心。

https://ithelp.ithome.com.tw/upload/images/20190907/20025481k086P7e0kc.jpg

泰瑞爾 vs 巴爾

https://ithelp.ithome.com.tw/upload/images/20190930/20025481qYGExkOefN.png

城中互斥的虛幻空間術

大家都環繞著嚴正保護世界之石之際其實卻疏忽的能夠保衛這城中一草一木的所有人民的天使部隊眾將士們不怕死的決心,但犧牲往往應該是最後要不得的選項,這時造物秘術師首發創造了一個空間魔法讓東西南北各方位的城口即使被攻破時並無法在如先前被強攻的戰役下內外夾擊造成眾多兄弟的傷亡,也就是每個空間都已經相互隔離,而反而能夠過隔離的效果能夠轉守為攻讓魔神成為囊中物被一網打盡,回到人類聽得懂的代名詞"容器安全"小弟先簡述一下此服務究竟為何?

先追朔一下容器的始祖 Docker,它生於 2013 年間,從原本只是 dotCloud 公司內部的一個非正式性專案。使用了 Google 當時推出的 Go 語言來進行實作。而此專案後來加入 Linux 基金會後依循 Apache 2.0 協議,而原始程式碼則在 GitHub 上進行更新維護。
Docker 從開源後就受到廣大技術愛好先驅關注與討論,後來 dotCloud 公司後來改名為 Docker Inc。Redhat 當時已在 RHEL 6.5 版本中支援 Docker,而 Google 也在其 PaaS 產品中廣泛應用。
Docker 專案目標是實作輕量級作業系統虛擬化解決方案。其 Docker 基礎是 Linux 容器(LXC)技術。在 LXC 基礎上 Docker 進一步的做封裝讓使用者無需去關心容器間的管理讓操作可以更為簡便。讓使用者操作 Docker 容器可以像操作虛擬機器一樣簡單。
https://ithelp.ithome.com.tw/upload/images/20191004/2002548150AMyVpwqD.jpg

Docker 基本三元素

  • Docker Image (將所需自訂服務打包封裝成為映像檔讓人取用)
  • Docker Container (透過載入映像來執行應用程式的實際環境)
  • Docker Registry (放置Image的地方)

有了上述概念後再回到真實,各家都有自己所謂的容器服務,而 Azure 公有雲也不例外,本身的作業系統虛擬化就是所謂的容器,而能有效管理調用容器資源耳熟能響的就是 Kubernetes (Google 公司為始祖俗稱 K8S),而因為在開源釋放讓各家可以都爭相擁有後舉凡EKS,AKS 或 OpenShift 等...都是,不過就不在本次範疇中

什麼是 Azure Container Instances(ACI)?
容器已經成為了目前的當紅炸子雞,透過封裝、部署及管理雲端應用服務的一個方法。Container Instances 就是提供更為簡單快速的方式讓你在無需自建安裝管理任何底層的虛擬機器就可以在 Azure 中執行容器。

ACI 幾個特色?

  1. 秒級啟動時間-容器提供比虛擬機器在幾秒內就能啟動 Azure 中容器,無須佈建管理 VM。
  2. 對外 Public IP 和 DNS-可透過對外公開 IP 或自訂的 FQDN 對外 Internet 提供應用服務。
  3. Hypervisor 層級安全-過去雖然容器本身具有隔離和資源控管但底層本身防護性病仍具風險,而 ACI 屬企業層級雲端服務,確保應用程式隔離在容器中如同 VM 中一樣的隔離安全。
  4. 按需調整大小-雖然透過容器適執行單一應用程式服務在資源上其實綽綽有餘,但實際上仍有特殊應用程式資源需求頗大如像是密集性運算做機器學習(NVIDIA Tesla GPU Preview),故 ACI 可以透過放大 CPU Core / MEM 來提升使用效率。
  5. 儲存空間-主要為了能保存擷取對 ACI 的狀態,可以直接放在更具安全保護備份機制的 Azure FileBlob 服務。

ACI 容器群組運作模式
簡單說容器群組就是容器的一個集群,此會排程在同個伺服器主機中。其容器群組中涵蓋了資源、網路和磁碟空間。很像是你常耳聞類似 Kubernetes 中的 pod。
補充:多容器群組目前只支援 Linux。目前被孤立的 Windows 仍只支援 Single。
https://ithelp.ithome.com.tw/upload/images/20191004/20025481tSfrmbqFXE.png

下表示為支援 Linux / Windows Server 2016 Container 來供容器群組使用
https://ithelp.ithome.com.tw/upload/images/20191004/2002548187q0SsKTYT.png

ACI 安全性建議

  • 使用 Private Registry(私有倉庫)
    執行容器本身也是透過呼叫存放庫中指定的映像檔來建立執行的,而這倉庫可以是公開的如:Docker Hub 又或是私有的如:Docker Trusted Registry。當然你如果希望自己純手工打造像是在企業內部用 Linux 自建環境。而以雲端為基礎中心的私有容器倉庫如:Azure Container Registry 也就是安全容器的保護之一(如下圖中間所示)。
    https://ithelp.ithome.com.tw/upload/images/20191004/20025481b2tbG17xaT.jpg

  • 安全性掃描監視
    Twistlock 和 Aqua Cloud Native Security 可透過 Azure Marketplace 來取得。透過列舉的工具它們來掃描倉庫中的映射檔,掃描是否有其潛在弱點。
    Azure Marketplace Apps 為描述說明其功能與售價方式:
    Aqua Cloud Native Security
    Twistlock Enterprise

  • 認證保護機制
    容器本身正式環境中都須要透過 API 存取登入所需認證保護。故都需要求開發人員要為容器平台加入密鑰設計以提升安全機制。如:加密資料庫、傳輸中TLS資料加密、最低角色型存取控制 RBAC 最後再搭配 Key Vault 來保護容器應用程式本身的加密保護。
    -系統受控識別啟用
    https://ithelp.ithome.com.tw/upload/images/20191013/20025481vibOhe5go3.png
    -使用指派識別
    https://ithelp.ithome.com.tw/upload/images/20191013/20025481lZxd3Sfnyu.png

Azure container registry 受控識別建立作法

  • 容器在開發過程中導入弱管
    也就是提前預防勝於治療,在整個開發生命週期過程中使用弱點管理,來增加識別安全性問題的機率。
  1. 優先在容器上執行弱掃後再將映像檔放置至公用或私人倉庫。
  2. 持續掃描倉庫內的映像檔來辨識開發期間有發生的任何問題,包含使用的程式碼中是否存在著任何弱點。
  3. 確定在整個企業環境中只能使用已掃描驗證過的映像檔
  4. 僅認可已核准過的倉庫
  5. 執行容器只接受最低存取權限以避免管理層角度被有心人士攻擊
  6. 允許容器存取認可過屬白名單檔案或執行程式
  7. 容器的網路分割(目前會需要透過第三分工具來做 nano 子網路分割)
  8. 容器與用戶存取行為監視
  9. 記錄容器對於管理用戶存取權來做審核
    https://ithelp.ithome.com.tw/upload/images/20191004/200254817KauBRUDVL.png

ACI / Azure WebApps for containers 上屆 Azure 實作傳送門
搭上容器服務熱潮,來試試 Azure Container Instances (ACI) 吧!
容器式網站不求人,Azure WebApps for containers 實驗給你看

上屆鐵人主題

如果有興趣對您有幫助也請多多支持,歡迎給小弟建議或互相交流!

Google Cloud 勇者的試煉

玩轉 Azure 於指尖隨心所欲


上一篇
[Day 26] 技能解封最終對決-重要機要防竊攻防 (Azure SQL Structure Security)
下一篇
[Day 28] 技能解封最終對決-誓死捍衛世界之石的秘密(Code security)
系列文
麻瓜不敗!白魔法藍天煉金術30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言